Memuat Bab 12…
Front-End Masterclass:
Tujuh bagian yang akan membawamu dari menulis komponen interaktif sampai aplikasi tampil online di internet.
UI reaktif tanpa reload
Commit, branch, merge
Push, pull, kolaborasi
Hosting, domain, DNS, SSL
Cache, queue, optimize
Log, backup, security
4 pilihan proyek
Git · Livewire · Deploy
Analogi: Bayangkan kamu mengisi formulir di kertas. Cara lama (tanpa Livewire) seperti harus memfotokopi ulang seluruh kertas setiap kali menulis satu huruf. Livewire seperti pulpen ajaib — kamu cukup menulis, halaman langsung berubah tanpa di-fotokopi ulang.
Setiap aksi → seluruh halaman dimuat ulang → terasa lambat & "berkedip".
Hanya bagian yang berubah yang diperbarui. Cepat, mulus, tanpa nulis JavaScript.
Livewire = framework full-stack untuk Laravel yang membuat antarmuka dinamis & interaktif hanya dengan PHP — tanpa harus mahir JavaScript.
Komponen Livewire terdiri dari 2 file: class PHP (logika) & file blade (tampilan). Buat keduanya sekaligus dengan satu perintah artisan.
# Membuat komponen ProductTable
php artisan make:livewire ProductTable
# Menghasilkan 2 file:
# app/Livewire/ProductTable.php
# resources/views/livewire/product-table.blade.php
namespace App\Livewire;
use Livewire\Component;
class ProductTable extends Component
{
public $search = '';
public function render()
{
return view('livewire.product-table');
}
}
Pasang di halaman blade cukup dengan: <livewire:product-table />
☝️ Livewire Lifecycle: inilah siklus yang berputar setiap kali user berinteraksi.
Ketik di kotak pencarian → daftar langsung tersaring tanpa tombol "cari". Coba demo langsung di bawah! 👇
<input type="text"
wire:model.live="search"
placeholder="Cari produk...">
<ul>
@foreach($products as $p)
<li>{{ $p->nama }}</li>
@endforeach
</ul>
🔑 Kuncinya ada di wire:model.live — setiap ketikan otomatis dikirim ke server & tampilan diperbarui.
Livewire memudahkan form yang validasinya hidup, filter realtime, dan dashboard yang angkanya berubah otomatis.
Validasi muncul saat mengetik, tanpa kirim ulang halaman.
wire:model$rulesPilih kategori → tabel langsung menyesuaikan datanya.
wire:model.liveStatistik & grafik diperbarui otomatis lewat polling.
wire:pollpublic $rules = [
'nama' => 'required|min:3',
'harga' => 'required|numeric',
];
// dashboard auto-refresh tiap 5 detik
<div wire:poll.5s> Total Order: {{ $totalOrder }} </div>
Data ribuan baris? Bagi menjadi halaman-halaman kecil. Livewire menyediakan pagination yang berpindah tanpa reload.
use Livewire\WithPagination;
class ProductTable extends Component
{
use WithPagination;
public function render()
{
return view('livewire.product-table', [
'products' => Product::paginate(10),
]);
}
}
Analogi: Git seperti tombol "save game". Setiap commit adalah titik simpan yang bisa kamu kembali ke sana kapan saja kalau ada yang rusak.
Branch = jalur kerja terpisah. Kamu bisa bereksperimen di branch feature tanpa merusak main, lalu merge bila sudah siap.
git checkout -b feature/login # buat & pindah ke branch baru
git add . && git commit -m "tambah fitur login"
git checkout main # kembali ke main
git merge feature/login # gabungkan!
Analogi: GitHub itu "Google Drive-nya developer" — tempat menyimpan kode di awan, berbagi dengan tim, dan menyimpan seluruh riwayat perubahan.
Folder di laptop
git push
Repo GitHub
Kirim kode lokal ke GitHub.
Ambil update terbaru dari GitHub.
Salin seluruh repo ke laptop.
Banyak orang kerja 1 proyek.
Cara berkontribusi ke proyek orang lain: fork → ubah → pull request. Pemilik proyek lalu me-review & menggabungkan kontribusimu.
Analogi tempat tinggal: arahkan kursor ke kartu untuk melihat detail (kartu berputar 🔄).
Berbagi fasilitas, murah
Ruang sendiri, atur bebas
Bayar sesuai pakai, skalabel
Domain = alamat (mis. tokoku.com). DNS = buku telepon internet yang menerjemahkan nama jadi alamat IP. SSL = gembok 🔒 yang membuat https aman.
Nama unik website, dibeli per tahun di registrar.
Mengubah nama domain menjadi alamat IP server.
Enkripsi data, gembok hijau, wajib untuk https.
Sebelum aplikasi tampil ke publik, jalankan checklist ini. Klik tiap item untuk menandai selesai ✓
# .env produksi
APP_ENV=production
APP_DEBUG=false
# perintah optimasi sekali jalan
php artisan optimize
php artisan config:cache
php artisan route:cache
php artisan view:cache
# jalankan antrian & link storage
php artisan storage:link
php artisan queue:work --daemon
Saat aplikasi error di production, log adalah mata-mata kita. Laravel menyimpan semua kejadian di storage/logs/laravel.log.
[2026-06-05 09:12:01] production.INFO: User login berhasil id=42
[2026-06-05 09:14:33] production.WARNING: Cache miss pada produk populer
[2026-06-05 09:15:10] production.ERROR: SQLSTATE[42S02] Table 'orders' not found
[2026-06-05 09:15:10] production.ERROR: at OrderController.php:58
Lihat tail -f laravel.log untuk pantau realtime.
Tools: Laravel Telescope, Sentry, atau uptime monitor.
Kirim notifikasi ke email/Telegram saat error fatal.
Aplikasi yang live butuh perawatan rutin, sama seperti motor butuh servis berkala. 🔧
Cadangkan database otomatis tiap hari.
harianTarik kode terbaru & jalankan migrasi.
git pullUpdate dependency yang punya celah keamanan.
composer updateRotasi log agar disk tidak penuh.
bulanan# aktifkan mode maintenance saat update
php artisan down
git pull origin main
composer install --no-dev
php artisan migrate --force
php artisan up # kembali online
Pilih SATU proyek untuk membuktikan semua skill semester 2. Arahkan kursor ke kartu — efek 3D tilt aktif! ✨
Toko online: katalog produk, keranjang, checkout, dashboard admin.
Sistem sekolah: data siswa, nilai, absensi, jadwal pelajaran.
Manajemen stok gudang: barang masuk/keluar, laporan stok.
Perpustakaan digital: koleksi buku, peminjaman, denda otomatis.
⭐ Wajib pakai: Laravel Livewire Git/GitHub Deployment online
Buktikan kamu menguasai alur kerja Git & GitHub dari nol hingga merge.
| Kriteria | Bobot |
|---|---|
| Repository dibuat | 20% |
| ≥ 5 commit bermakna | 30% |
| Branch feature | 25% |
| Merge berhasil | 25% |
Buat komponen Livewire pencarian realtime sederhana yang menyaring daftar saat diketik.
| Kriteria | Bobot |
|---|---|
| Komponen dibuat | 20% |
| wire:model.live benar | 30% |
| Filter berfungsi | 30% |
| Demo direkam | 20% |
Deploy aplikasi Laravel ke hosting gratis (Railway atau Render) hingga bisa diakses lewat URL publik.
| Kriteria | Bobot |
|---|---|
| Push ke GitHub | 15% |
| Terhubung ke hosting | 25% |
| Aplikasi bisa diakses online | 40% |
| Bukti screenshot + URL | 20% |
Dari komponen Livewire yang reaktif, alur Git yang rapi, sampai aplikasi yang tampil online — kamu sudah punya semua bekal seorang web developer junior. Sekarang saatnya berkarya!
"Kode terbaik bukan yang sempurna, tapi yang berani kamu deploy." 🚀